import { requestClient } from '#/api/request';

/**
 * 司机补贴统计报表相关API
 */

// 司机补贴统计数据接口参数
export interface GetDriverSubsidyParams {
  /** 统计月份，格式：YYYY-MM */
  month: string;
  /** 页码 */
  page?: number;
  /** 每页条数 */
  pageSize?: number;
  /** 排序列名 */
  sortBy?: string;
  /** 排序方向：asc/desc */
  sortOrder?: string;
}

// 司机补贴统计数据项
export interface DriverSubsidyItem {
  /** 司机ID */
  driverId: number;
  /** 司机姓名 */
  fullName: string;
  /** 联系电话 */
  phoneNumber: string;
  /** 当月省内公里数 */
  provinceMileage: number;
  /** 当月省外公里数 */
  outProvinceMileage: number;
  /** 省内补贴标准（元/公里） */
  provinceSubsidyRate: number;
  /** 省外补贴标准（元/公里） */
  outProvinceSubsidyRate: number;
  /** 补贴总费用（元） */
  totalSubsidy: number;
  /** 数据更新时间 */
  updateTime: string;
}

// 司机补贴统计数据响应
export interface GetDriverSubsidyResponse {
  /** 数据列表 */
  list: DriverSubsidyItem[];
  /** 总条数 */
  total: number;
  /** 当前页 */
  currentPage: number;
  /** 每页条数 */
  pageSize: number;
}

// 导出司机补贴数据参数
export interface ExportDriverSubsidyParams {
  /** 统计月份，格式：YYYY-MM */
  month: string;
}

/**
 * 获取司机补贴统计数据
 */
export function getDriverSubsidyStatistics(
  params: GetDriverSubsidyParams,
): Promise<GetDriverSubsidyResponse> {
  return requestClient.get<GetDriverSubsidyResponse>('/driver-subsidy-report', {
    params,
  });
}

/**
 * 导出司机补贴统计数据
 */
export function exportDriverSubsidyData(
  params: ExportDriverSubsidyParams,
): Promise<Blob> {
  return requestClient.get<Blob>('/driver-subsidy-report/export', {
    params,
    responseType: 'blob',
  });
}
